/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Controller;

import Model.TiendaM;
import MsSQL.ConMsSQL;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author Maryluz
 */
public class TiendaC {
    
        public List<TiendaM> listarStockTienda(int tienda,int modelo) {
        Connection conexion = ConMsSQL.obtenerConexion();
        if (conexion != null) {
            try {
                List<TiendaM> vctTienda = new ArrayList<>();
                String sql = "select  t.nomtienda,a.stock from dbo.TBL_MODELO m, TBL_ALMACEN a, TBL_TIENDA t where m.idmodelo=a.idModelo and a.idTienda=t.idtienda and a.stock>0 and t.idtienda="+tienda+" and CONVERT(date,a.fecha)=convert(date,(select MAX(a1.fecha) from TBL_ALMACEN a1 where a1.idModelo=a.idModelo and a1.idTienda="+tienda+")) and m.idModelo="+modelo+" order by nomtienda";

                Statement instruccionSQL = conexion.createStatement();
                ResultSet rs = instruccionSQL.executeQuery(sql);

                if (rs != null) {
                    while (rs.next()) {
                        TiendaM oM = new TiendaM();
                        oM.setNomTienda(rs.getString(1));
                        oM.setStockModelo(rs.getInt(2));
                        vctTienda.add(oM);
                    }
                    return vctTienda;
                }
                return null;
            } catch (SQLException e) {
                 System.out.print(e);
                return null;
            } catch (Exception e) {
                System.out.print(e);
                return null;
            } finally {
                try {
                    conexion.close();
                } catch (SQLException ex) {
                    System.out.print("No se puede cerrar la conexion");
                }
            }
        }
        return null;
    }
        
        public List<TiendaM> listarTiendas() {
        Connection conexion = ConMsSQL.obtenerConexion();
        if (conexion != null) {
            try {
                List<TiendaM> vctTienda = new ArrayList<>();
                String sql = "select *from TBL_TIENDA where  idtienda<>1";

                Statement instruccionSQL = conexion.createStatement();
                ResultSet rs = instruccionSQL.executeQuery(sql);

                if (rs != null) {
                    while (rs.next()) {
                        TiendaM oM = new TiendaM();
                        oM.setIdTienda(rs.getInt(1));
                        oM.setNomTienda(rs.getString(2));
                        vctTienda.add(oM);
                    }
                    return vctTienda;
                }
                return null;
            } catch (SQLException e) {
                 System.out.print(e);
                return null;
            } catch (Exception e) {
                System.out.print(e);
                return null;
            } finally {
                try {
                    conexion.close();
                } catch (SQLException ex) {
                    System.out.print("No se puede cerrar la conexion");
                }
            }
        }
        return null;
    }
        
        public List<TiendaM> listarTodo() {
        Connection conexion = ConMsSQL.obtenerConexion();
        if (conexion != null) {
            try {
                List<TiendaM> vctTienda = new ArrayList<>();
                String sql = "select *from TBL_TIENDA ";

                Statement instruccionSQL = conexion.createStatement();
                ResultSet rs = instruccionSQL.executeQuery(sql);

                if (rs != null) {
                    while (rs.next()) {
                        TiendaM oM = new TiendaM();
                        oM.setIdTienda(rs.getInt(1));
                        oM.setNomTienda(rs.getString(2));
                        vctTienda.add(oM);
                    }
                    return vctTienda;
                }
                return null;
            } catch (SQLException e) {
                 System.out.print(e);
                return null;
            } catch (Exception e) {
                System.out.print(e);
                return null;
            } finally {
                try {
                    conexion.close();
                } catch (SQLException ex) {
                    System.out.print("No se puede cerrar la conexion");
                }
            }
        }
        return null;
    }
}
